package com.supermap.ar.unity;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

/**
 * Unity调用工具类
 */
public class UnityToolkit {
    /**
     * 调用Unity中的方法
     * @param gameObjectName 游戏对象名称
     * @param functionName 方法名称
     * @param args 参数内容
     * @return 状态值，调用成功返回true
     */
    public static boolean callUnity(String gameObjectName, String functionName, String args){
        try {
            Class<?> classType = Class.forName("com.unity3d.player.UnityPlayer");
            Method method =classType.getMethod("UnitySendMessage", String.class,String.class,String.class);
            method.invoke(classType,gameObjectName,functionName,args);
            return true;
        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        } catch (NoSuchMethodException e) {

        } catch (IllegalAccessException e) {

        } catch (InvocationTargetException e) {

        }
        return false;
    }
}
